EXP 5 Namee :Siddhi Subhedarr PRN : 1262062106 Noise

In [18]:
import numpy as np
import matplotlib.pyplot as plt
import cv2
%matplotlib inline
In [19]:
img=cv2.imread("flower.jpg",0)
plt.imshow(img,cmap='gray')
Out[19]:
<matplotlib.image.AxesImage at 0x1f9fb974da0>
No description has been provided for this image
In [3]:
print(img.shape)
(820, 610)

Gaussian Noice

In [4]:
gauss_noise=np.zeros((225,225),dtype=np.uint8)
cv2.randn(gauss_noise,128,20) # cv2.randn(image, mean, standard deviatio
gauss_noise=(gauss_noise*0.5).astype(np.uint8)
In [5]:
plt.imshow(gauss_noise,cmap='gray')
Out[5]:
<matplotlib.image.AxesImage at 0x1f9faffda60>
No description has been provided for this image
In [6]:
print(img.shape)
print(gauss_noise.shape)
(820, 610)
(225, 225)
In [7]:
gauss_noise_re = cv2.resize(gauss_noise, (img.shape[1], img.shape[0]))
In [8]:
print(img.shape)
print(gauss_noise_re.shape)
(820, 610)
(820, 610)
In [9]:
gn_img= cv2.add(img,gauss_noise_re)
In [10]:
fig=plt.figure(dpi=300)
fig.add_subplot(1,3,1)
plt.imshow(img,cmap='gray')
plt.axis("off")
plt.title("Original")
fig.add_subplot(1,3,2)
plt.imshow(gauss_noise,cmap='gray')
plt.axis("off")
plt.title("Gaussian Noise")
fig.add_subplot(1,3,3)
plt.imshow(gn_img,cmap='gray')
plt.axis("off")
plt.title("Combined Gaussian")
Out[10]:
Text(0.5, 1.0, 'Combined Gaussian')
No description has been provided for this image

Uniform Noise

In [11]:
uni_noise=np.zeros((225,225),dtype=np.uint8)
cv2.randu(uni_noise,0,255)
uni_noise=(uni_noise*0.5).astype(np.uint8)
In [12]:
print(img.shape)
print(uni_noise.shape)
(820, 610)
(225, 225)
In [13]:
uni_noise_re = cv2.resize(uni_noise, (img.shape[1], img.shape[0]))
In [14]:
print(img.shape)
print(uni_noise_re.shape)
(820, 610)
(820, 610)
In [15]:
un_img=cv2.add(img,uni_noise_re)
In [16]:
cv2.imwrite('noisycat.jpg', un_img)
Out[16]:
True
In [17]:
fig=plt.figure(dpi=300)
fig.add_subplot(1,3,1)
plt.imshow(img,cmap='gray')
plt.axis("off")
plt.title("Original")
fig.add_subplot(1,3,2)
plt.imshow(uni_noise,cmap='gray')
plt.axis("off")
plt.title("Uniform Noise")
fig.add_subplot(1,3,3)
plt.imshow(un_img,cmap='gray')
plt.axis("off")
plt.title("Combined Uniform")
Out[17]:
Text(0.5, 1.0, 'Combined Uniform')
No description has been provided for this image

Impulse Noise(Salt and pepper noise)

In [20]:
imp_noise=np.zeros((225,225),dtype=np.uint8)
cv2.randu(imp_noise,0,255)
imp_noise=cv2.threshold(imp_noise,245,255,cv2.THRESH_BINARY)[1]
In [21]:
imp_noise_re = cv2.resize(imp_noise, (img.shape[1], img.shape[0]))
In [22]:
in_img=cv2.add(img,imp_noise_re)
In [23]:
fig=plt.figure(dpi=300) # Width and Height of figures change
fig.add_subplot(1,3,1)
plt.imshow(img,cmap='gray')
plt.axis("off")
plt.title("Original")
fig.add_subplot(1,3,2)
plt.imshow(imp_noise,cmap='gray')
plt.axis("off")
plt.title("Impulse Noise")
fig.add_subplot(1,3,3)
plt.imshow(in_img,cmap='gray')
plt.axis("off")
plt.title("Combined Salt & Pepper")
cv2.imwrite('noisy_lena.jpg',in_img)
Out[23]:
True
No description has been provided for this image

Removing Noise from Image

In [24]:
gauss_noise=np.zeros((225,225),dtype=np.uint8)
In [25]:
plt.imshow(gauss_noise,cmap='gray')
Out[25]:
<matplotlib.image.AxesImage at 0x1f9fbf0d8b0>
No description has been provided for this image
In [26]:
gauss_noise.shape
Out[26]:
(225, 225)

DIP

In [27]:
img=cv2.imread('noisycat.jpg')
plt.imshow(img)
Out[27]:
<matplotlib.image.AxesImage at 0x1f9fb1e5f40>
No description has been provided for this image
In [28]:
blur = cv2.blur(img,(9,9))
In [29]:
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(blur),plt.title('Blurred')
plt.xticks([]), plt.yticks([])
Out[29]:
(([], []), ([], []))
No description has been provided for this image
In [30]:
blur = cv2.blur(img,(3,3))
In [31]:
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(blur),plt.title('Blurred')
plt.xticks([]), plt.yticks([])
Out[31]:
(([], []), ([], []))
No description has been provided for this image

Median Filter

In [32]:
median = cv2.medianBlur(img,3)
plt.imshow(median)
Out[32]:
<matplotlib.image.AxesImage at 0x1f9fbfe2ea0>
No description has been provided for this image
In [33]:
kernel2 = np.ones((5, 5), np.float32) / 25
image = cv2.filter2D(src=img, ddepth=-1, kernel=kernel2)
In [34]:
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(image),plt.title('Kernel Blur')
plt.xticks([]), plt.yticks([])
Out[34]:
(([], []), ([], []))
No description has been provided for this image
In [35]:
plt.imshow(image)
Out[35]:
<matplotlib.image.AxesImage at 0x1f9fcc5ca70>
No description has been provided for this image
In [36]:
blur1 = cv2.blur(img,(3,3))
blur2 = cv2.blur(img,(9,9))
blur3 = cv2.blur(img,(25,25))
In [37]:
fig=plt.figure(dpi=100)
plt.subplot(221),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(222),plt.imshow(blur1),plt.title('Blurred 3x3')
plt.xticks([]), plt.yticks([])
plt.subplot(223),plt.imshow(blur2),plt.title('Blurred 9x9')
plt.xticks([]), plt.yticks([])
plt.subplot(224),plt.imshow(blur3),plt.title('Blurred 25x25')
plt.xticks([]), plt.yticks([])
Out[37]:
(([], []), ([], []))
No description has been provided for this image
In [38]:
fig = plt.figure(figsize=(3,3))
plt.imshow(img),plt.title('Original')
fig = plt.figure(figsize=(3,3))
plt.imshow(blur1),plt.title('Blurred 3x3')
fig = plt.figure(figsize=(6,6))
plt.imshow(blur2),plt.title('Blurred 9x9')
fig = plt.figure(figsize=(6,6))
plt.imshow(blur3),plt.title('Blurred 25x25')
Out[38]:
(<matplotlib.image.AxesImage at 0x1f9fccd1310>,
 Text(0.5, 1.0, 'Blurred 25x25'))
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
In [39]:
img_median3 = cv2.medianBlur(img,3)
#cv2.imshow('image', numpy.hstack((img, dst)))
plt.imshow(img_median3)
img_median5 = cv2.medianBlur(img,5)
img_median7 = cv2.medianBlur(img,7)
img_median15 = cv2.medianBlur(img,15)
No description has been provided for this image
In [40]:
fig=plt.figure(dpi=700)
plt.subplot(151),plt.imshow(img),plt.title('Noisy Original')
plt.xticks([]), plt.yticks([])
plt.subplot(152),plt.imshow(img_median3),plt.title('Mkernel 3x3')
plt.xticks([]), plt.yticks([])
plt.subplot(153),plt.imshow(img_median5),plt.title('Mkernel 5x5')
plt.xticks([]), plt.yticks([])
plt.subplot(154),plt.imshow(img_median7),plt.title('Mkernel 7x7')
plt.xticks([]), plt.yticks([])
plt.subplot(155),plt.imshow(img_median15),plt.title('Mkernel 15x15')
plt.xticks([]), plt.yticks([])
Out[40]:
(([], []), ([], []))
No description has been provided for this image
In [43]:
img_Gaussian3 = cv2.GaussianBlur(img,(3,3),cv2.BORDER_DEFAULT)
img_Gaussian9 = cv2.GaussianBlur(img,(9,9),cv2.BORDER_DEFAULT)
img_Gaussian15 = cv2.GaussianBlur(img,(15,15),cv2.BORDER_DEFAULT)
In [44]:
plt.subplot(221),plt.imshow(img),plt.title('Noisy Original')
plt.xticks([]), plt.yticks([])
plt.subplot(222),plt.imshow(img_Gaussian3),plt.title('Gkernel 3x3')
plt.xticks([]), plt.yticks([])
plt.subplot(223),plt.imshow(img_Gaussian9),plt.title('Gkernel 9x9')
plt.xticks([]), plt.yticks([])
plt.subplot(224),plt.imshow(img_Gaussian15),plt.title('Gkernel 15x15')
plt.xticks([]), plt.yticks([])
Out[44]:
(([], []), ([], []))
No description has been provided for this image
In [ ]: